home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Peter Lewis / PNL Libraries / MyTrace.p < prev    next >
Encoding:
Text File  |  1994-08-22  |  525 b   |  37 lines  |  [TEXT/R*ch]

  1. unit MyTrace;
  2.  
  3. interface
  4.  
  5.     const
  6.         max_trace = 1000;
  7.     type
  8.         TraceRecord = record
  9.                 pos: longInt;
  10.                 data: array[1..max_trace] of integer;
  11.             end;
  12.     var
  13.         tp: ^TraceRecord;
  14.  
  15.     procedure InitTrace;
  16.     procedure Trace (n: integer);
  17.  
  18. implementation
  19.  
  20.     procedure InitTrace;
  21.     begin
  22.         tp := POINTER(NewPtr(SizeOf(TraceRecord)));
  23.         tp^.pos := 1;
  24.         BlockZero(@tp^.data, SizeOf(tp^.data));
  25.     end;
  26.  
  27. {$PUSH}
  28. {$D-}
  29.     procedure Trace (n: integer);
  30.     begin
  31.         tp^.data[tp^.pos] := n;
  32.         tp^.pos := (tp^.pos mod max_trace) + 1;
  33.     end;
  34. {$POP}
  35.  
  36. end.
  37.